package com.ruoyi.commission.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.attached.domain.Attached;
import com.ruoyi.attachedData.domain.AttachedData;
import com.ruoyi.report.domain.Report;
import com.ruoyi.sample.domain.Sample;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 委托对象 gc_commission
 *
 * @author ruoyi
 * @date 2025-05-08
 */
@ApiModel
public class Commission extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @ApiModelProperty(value = "${comment}")
    private Long id;

    /** 码表 */
    @Excel(name = "码表")
    @ApiModelProperty(value = "码表")
    private String tableCode;

    /** 编号 */
    @Excel(name = "编号")
    @ApiModelProperty(value = "编号")
    private String number;

    /** 委托单位id */
    @Excel(name = "委托单位id")
    @ApiModelProperty(value = "委托单位id")
    private Long enterpriseId;

    /** 委托单位名称 */
    @Excel(name = "委托单位名称")
    @ApiModelProperty(value = "委托单位名称")
    private String enterpriseName;

    /** 委托人 */
    @Excel(name = "委托人")
    @ApiModelProperty(value = "委托人id")
    private String name;

    @ApiModelProperty(value = "委托人姓名")
    private String userName;
    public void setUserName(String userName)
    {
        this.userName = userName;
    }
    public String getUserName()
    {
        return userName;
    }

    /** 联系电话 */
    @Excel(name = "联系电话")
    @ApiModelProperty(value = "联系电话")
    private String mobile;

    /** 工程id */
    @Excel(name = "工程id")
    @ApiModelProperty(value = "工程id")
    private Long engineeringId;

    /** 工程名称 */
    @Excel(name = "工程名称")
    @ApiModelProperty(value = "工程名称")
    private String engineeringName;

    /** 工程地点 */
    @Excel(name = "工程地点")
    @ApiModelProperty(value = "工程地点")
    private String address;

    /** 建设单位 */
    @Excel(name = "建设单位")
    @ApiModelProperty(value = "建设单位")
    private String constructionUnit;

    /** 监理单位 */
    @Excel(name = "监理单位")
    @ApiModelProperty(value = "监理单位")
    private String supervisionUnit;

    /** 设计单位 */
    @Excel(name = "设计单位")
    @ApiModelProperty(value = "设计单位")
    private String designUnit;

    /** 勘察单位 */
    @Excel(name = "勘察单位")
    @ApiModelProperty(value = "勘察单位")
    private String surveyUnit;

    /** 施工单位 */
    @Excel(name = "施工单位")
    @ApiModelProperty(value = "施工单位")
    private String construcUnit;

    /** 工程概况 */
    @Excel(name = "工程概况")
    @ApiModelProperty(value = "工程概况")
    private String overview;

    /** 检测内容 */
    @Excel(name = "检测内容")
    @ApiModelProperty(value = "检测内容")
    private String detectionContent;

    /** 依据内容 */
    @Excel(name = "依据内容")
    @ApiModelProperty(value = "依据内容")
    private String accordingContent;

    /** 委托日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "委托日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "委托日期")
    private Date commissionDate;

    /** pdf文件 */
    @Excel(name = "pdf文件")
    @ApiModelProperty(value = "pdf文件")
    private String pdfFile;

    /** word文件 */
    @Excel(name = "word文件")
    @ApiModelProperty(value = "word文件")
    private String wordFile;

    /** 状态 */
    @Excel(name = "状态")
    @ApiModelProperty(value = "状态")
    private String status;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date beginTime;
    public Date getBeginTime()
    {
        return beginTime;
    }
    public void setBeginTime(Date beginTime) {this.beginTime = beginTime;}

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;
    public Date getEndTime()
    {
        return endTime;
    }
    public void setEndTime(Date endTime) {this.endTime = endTime;}

    /**
     * 业务类型
     * */
    private String businessType;
    public void setBusinessType(String businessType)
    {
        this.businessType = businessType;
    }
    public String getBusinessType()
    {
        return businessType;
    }

    /**
     * 业务经理id business_manager_id
     * */
    private Long businessManagerId;
    public void setBusinessManagerId(Long businessManagerId)
    {
        this.businessManagerId = businessManagerId;
    }
    public Long getBusinessManagerId()
    {
        return businessManagerId;
    }

    private String businessManagerName;
    public void setBusinessManagerName(String businessManagerName)
    {
        this.businessManagerName = businessManagerName;
    }
    public String getBusinessManagerName()
    {
        return businessManagerName;
    }
    /**
     * 附表列表
     * */
    private List<Attached> attachedList;
    public void setAttachedList(List<Attached> attachedList) {this.attachedList = attachedList;}
    public List<Attached>getAttachedList()
    {
        return attachedList;
    }

    /**
     * 检测项目列表
     * */
    private List<Sample> sampleList;
    public void setSampleList(List<Sample> sampleList)
    {
        this.sampleList = sampleList;
    }
    public List<Sample> getSampleList() {return sampleList;}

    /**
     * 检测报告列表
     * */
    private List<Report> reportList;
    public void setReportList(List<Report> reportList) {this.reportList = reportList;}
    public List<Report> getReportList() {return reportList;}



    private List<AttachedData> attachedDataList;
    public void setAttachedDataList(List<AttachedData> attachedDataList) {this.attachedDataList = attachedDataList;}
    public List<AttachedData> getAttachedDataList() {return attachedDataList;}

    private String detectionContentChange;
    public void setDetectionContentChange(String detectionContentChange)
    {
        this.detectionContentChange = detectionContentChange;
    }
    public String getDetectionContentChange()
    {
        return detectionContentChange;
    }

    /** 用于室外试验项目：模版1=1，模版2=2 */
    @Excel(name = "类型")
    @ApiModelProperty(value = "类型")
    private Long type;
    public void setType(Long type)
    {
        this.type = type;
    }
    public Long getType()
    {
        return type;
    }


    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setTableCode(String tableCode)
    {
        this.tableCode = tableCode;
    }

    public String getTableCode()
    {
        return tableCode;
    }
    public void setNumber(String number)
    {
        this.number = number;
    }

    public String getNumber()
    {
        return number;
    }
    public void setEnterpriseId(Long enterpriseId)
    {
        this.enterpriseId = enterpriseId;
    }

    public Long getEnterpriseId()
    {
        return enterpriseId;
    }
    public void setEnterpriseName(String enterpriseName)
    {
        this.enterpriseName = enterpriseName;
    }

    public String getEnterpriseName()
    {
        return enterpriseName;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setMobile(String mobile)
    {
        this.mobile = mobile;
    }

    public String getMobile()
    {
        return mobile;
    }
    public void setEngineeringId(Long engineeringId)
    {
        this.engineeringId = engineeringId;
    }

    public Long getEngineeringId()
    {
        return engineeringId;
    }
    public void setEngineeringName(String engineeringName)
    {
        this.engineeringName = engineeringName;
    }

    public String getEngineeringName()
    {
        return engineeringName;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress()
    {
        return address;
    }
    public void setConstructionUnit(String constructionUnit)
    {
        this.constructionUnit = constructionUnit;
    }

    public String getConstructionUnit()
    {
        return constructionUnit;
    }
    public void setSupervisionUnit(String supervisionUnit)
    {
        this.supervisionUnit = supervisionUnit;
    }

    public String getSupervisionUnit()
    {
        return supervisionUnit;
    }
    public void setDesignUnit(String designUnit)
    {
        this.designUnit = designUnit;
    }

    public String getDesignUnit()
    {
        return designUnit;
    }
    public void setSurveyUnit(String surveyUnit)
    {
        this.surveyUnit = surveyUnit;
    }

    public String getSurveyUnit()
    {
        return surveyUnit;
    }
    public void setConstrucUnit(String construcUnit)
    {
        this.construcUnit = construcUnit;
    }

    public String getConstrucUnit()
    {
        return construcUnit;
    }
    public void setOverview(String overview)
    {
        this.overview = overview;
    }

    public String getOverview()
    {
        return overview;
    }
    public void setDetectionContent(String detectionContent)
    {
        this.detectionContent = detectionContent;
    }

    public String getDetectionContent()
    {
        return detectionContent;
    }
    public void setAccordingContent(String accordingContent)
    {
        this.accordingContent = accordingContent;
    }

    public String getAccordingContent()
    {
        return accordingContent;
    }
    public void setCommissionDate(Date commissionDate)
    {
        this.commissionDate = commissionDate;
    }

    public Date getCommissionDate()
    {
        return commissionDate;
    }
    public void setPdfFile(String pdfFile)
    {
        this.pdfFile = pdfFile;
    }

    public String getPdfFile()
    {
        return pdfFile;
    }
    public void setWordFile(String wordFile)
    {
        this.wordFile = wordFile;
    }

    public String getWordFile()
    {
        return wordFile;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("tableCode", getTableCode())
            .append("number", getNumber())
            .append("enterpriseId", getEnterpriseId())
            .append("enterpriseName", getEnterpriseName())
            .append("name", getName())
            .append("mobile", getMobile())
            .append("engineeringId", getEngineeringId())
            .append("engineeringName", getEngineeringName())
            .append("address", getAddress())
            .append("constructionUnit", getConstructionUnit())
            .append("supervisionUnit", getSupervisionUnit())
            .append("designUnit", getDesignUnit())
            .append("surveyUnit", getSurveyUnit())
            .append("construcUnit", getConstrucUnit())
            .append("overview", getOverview())
            .append("detectionContent", getDetectionContent())
            .append("accordingContent", getAccordingContent())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("delState", getDelState())
            .append("delUser", getDelUser())
            .append("delType", getDelType())
            .append("delTime", getDelTime())
            .append("createBy", getCreateBy())
            .append("createType", getCreateType())
            .append("updateBy", getUpdateBy())
            .append("updateType", getUpdateType())
            .append("commissionDate", getCommissionDate())
            .append("pdfFile", getPdfFile())
            .append("wordFile", getWordFile())
            .append("status", getStatus())
            .toString();
    }
}
